package ltd.hanamaki.study.iotest;

import java.io.*;

/**
 * IO流 只要涉及 IO的东西  ，都和file有关，而且流必须要关闭
 */
public class IoDemo {

    public static void main(String[] args) throws IOException {
        IoDemo ioDemo = new IoDemo();
        ioDemo.io_test();

        ioDemo.io_input_test();
    }

    /* 编写一个方法 ，可以将 代码中的 数据 保存至本地文件中 */
    public void io_test() {
        /* 使用io将内容写出 需要用到 输出流 */
        /* 1. 想要将内容输出到哪一个目录中 */
        /* file 代表的是当前路径下的文件信息 */
        File file = new File("d:\\test.ini");
//        file.getAbsolutePath()/* 获取文件的绝对路径 */
        /* 2. 如何将文件内容写出 */
        FileOutputStream fileOutputStream = null;
        try {
            fileOutputStream = new FileOutputStream(file);
            fileOutputStream.write(new byte[]{1, 2, 3, 4, 5, 6});
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fileOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

    /* 编写一个 方法 ，可以将文件中的信息 给 读取到程序中 */
    public void io_input_test() throws IOException {
        File file = new File("d:\\test.ini");
        FileInputStream fileInputStream = new FileInputStream(file);
        StringBuffer buffer = new StringBuffer();
        int available = fileInputStream.available();
        for (int i = 0; i < available; i++) {
            buffer.append(fileInputStream.read());
        }
        fileInputStream.close();
        System.out.println(buffer.toString());
    }

}
